package com.kpmg.datalake.accountcheck.dao;

import java.math.BigDecimal;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.kpmg.datalake.accountcheck.dto.AccountCheckReportConditionDTO;
import com.kpmg.datalake.accountcheck.model.AccountCheckPrt;
import com.kpmg.datalake.accountcheck.vo.AccountCondition;

public interface AccountCheckPrtMapper {

	List<AccountCheckPrt> selectByBatchIdAndRsltCd(AccountCondition accountCondition);
	
	List<AccountCheckPrt> selectMnlByBatchId(@Param("mtchBtchId") String mtchBtchId);
	
	AccountCheckPrt selectAccountCheckByChkId(@Param("chkId") String chkId);
	
	AccountCheckPrt selectAccountCheckMnlByChkId(@Param("chkId") String chkId);
	
	int updateAccountCheckPrt(AccountCheckPrt accountChkPrt);
	
	int insertAccountCheckPrtMnl(AccountCheckPrt accountChkPrt);
	
	int updateSelfPrtAmountByBtchRslt(@Param("mtchTpNm") String mtchTpNm, @Param("offsetAmount") BigDecimal offsetAmount, @Param("mtchBtchId") String mtchBtchId, @Param("rsltCd")  String rsltCd);
	
	int updateCntlPrtAmountByBtchRslt(AccountCheckPrt accountChkPrt);
	
	int deleteAccountCheckMnl(AccountCheckPrt accountChkPrt);
	
	List<AccountCheckPrt> selectAccountCheckReportByPage(AccountCheckReportConditionDTO reportCondition);
	
	List<AccountCheckPrt> selectAccountCheckReport(AccountCheckReportConditionDTO reportCondition);
	
	List<AccountCheckPrt> selectAccountCheckMnlReport(AccountCheckReportConditionDTO reportCondition);
	
	int deleteAccountCheckPrt(AccountCheckPrt accountChkPrt);
	
	int updateSelfPrtAmountByBtchRsltSigle(AccountCheckPrt selfAccountChkPrt);

}
